re:Growth 2020で「サーバーレス関連のリリースを一挙紹介」という内容で発表しました #reinvent #cmregrowth
こんにちは、クラスメソッドの岡です。
2020/12/18(金) に毎年恒例のre:Growth 2020が開催されました!
私も猛者達に紛れてサーバーレスのテーマでLTをさせて頂いたので発表内容をまとめておきます。
スライド
Lambda関連のリリース一覧
- Lambda Cotainer Image
- Lambda Extentions(プレビュー)
- Amazon CloudWatch Lambda Insights
- AWS Signerを使ってLambdaのコード署名が可能に
- Lambdaの課金時間が100msから1msに
- Lambdaのメモリ上限が10G、vCPUの上限が6に拡張
- イベントソースにApache Kafkaが追加
- イベントソースにAmazon MQが追加(プレビュー)
Lambda コンテナイメージ
- Lambdaの従来のZIP形式に加えて、コンテナイメージがパッケージフォーマットとしてサポートされた
- ECRに保存したコンテナイメージのURIを指定
- AWS Lambda Runtime Interface Clientsを併せてリリース
- AWS Lambda Runtime Interface Emulator (RIE)も提供開始
- CDK/SAM CLIでのデプロイも対応済
- Lambda Layersの追加, コード署名の機能は使えなくなる
注意点として、コンテナイメージでデプロイした場合はLambda Layersの追加, コード署名の機能は利用できなくなります。
Lambda Layersとしては利用できませんが、既存レイヤーをコンテナーイメージとして/optディレクトリにコピーすることで、Lambdaで利用することができます。
下記のAWSブログでコンテナイメージに既存の Lambda Layers と Lambda Extentions を組み込むソリューションが解説されています。
コンテナイメージの要件
- Docker Image Manifest V2 Schema 2もしくはOCI v1.0以上
- LambdaのランタイムAPIとの連携
- /tmp(最大512MB)以外はRead-Onlyの権限
- コード実行に必要な全てのファイルが読み取り可能なこと
- Linuxベースのコンテナイメージのみサポート
速報記事に合わせて、岩田さんがコンテナイメージでデプロイしたLambdaのコールドスタートの速度計測の検証記事を出していてかなり参考になるので合わせてご覧ください。
Lambda Extentions
Lambda Extensions APIを使って実装したプログラムをLambda Layerとしてデプロイすることで、モニタリングツールなどの外部のツールをLambda実行環境内部に統合することができます。
性能テストや負荷テストの際に有用です。
Amazon CloudWatch Lambda Insights
CloudWatch Lambda InsightsもLambda Extentionsの1つで、有効化するとCloudWatch Lambda InsightsのLambda Layersが追加されます。
Lambda Insightsを使うことで、Lambdaのパフォーマンスに関するログが取得できるようになります。
SNS/SQSのアップデート
従来のSQSのFIFOキューに合わせてSNSトピックもFIFOをサポートしました。
これを組み合わせることで、厳密に順序付けられた方法で複数の独立したサービス間でメッセージを処理する際の一貫性を維持することができます。
- Amazon SNS FIFO のご紹介 – 先入れ先出しでの Pub/Sub メッセージング
- Building event-driven architectures with Amazon SNS FIFO
Step Functions Expressモードの同期呼び出しサポート
- 低レイテンシ+高スループットのExpressモードを同期呼び出しすることによってUXの改善につながる
- 1秒あたり100,000イベントを超える呼び出しレートをサポートする
EventBridgeのイベントのリプレイとアーカイブが可能に
こちらは発表の方では紹介しなかったんですがイベントのリプレイとアーカイブが可能になり、イベントの検証やテストが容易となります。
AWS Amplify Admin UI
- WEBアプリ/モバイルアプリのバックエンドの作成と管理ができる機能
- Sandbox環境も提供されているのでAWSアカウントなしでも一部の機能は利用可能
Aurora Serverless v2(プレビュー)
- v1と比較してスケーリング性能がアップ
- Multi-AZ/Global Database/Read Replicaに対応
- MySQL5.7互換のみ
AWS Proton
- CloudFormationをベースにインフラを管理する機能
- バージョニングにも対応
- EnvironmentsとServicesの2つの層に分けて管理する
- Cloud Watch/New Relic/DataDog と統合予定
まとめ
かなり走った説明になってしまいましたが、一挙に紹介させて頂きました。
今後もアップデートを追っていきたいと思います!!